<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>改变this指向apply</title>
</head>

<body>
  <script>
    // ============================== 改变this指向apply ============================== 
    // 1. 基本使用
    const obj = { name: '佩奇' }

    function fun(x, y) {
      console.log(this)
      console.log(x + y)
    }
    fun()
    fun.apply(obj, [10,20])

    // 1. 作用1: 调用函数

    // 2. 作用2: 改变this指向

    // 3. 使用场景 - 求数组的最大值/最小值
     let arr=[1,4,6,3,4,8,0]

    console.log(Math.max(...arr))  //展开运算符


    console.log(Math.max.apply(arr,arr))  //第一个arr指的是this指向，第一个arr指的是[1,4,6,3,4,8,0]


    
    // apply 或者 call 如果不需要改变this指向 写 null 

  </script>
</body>

</html>